const ldpc_encode_table ldpc_encode_table::ldpc_tab_1_4S = {
    FRAME_SIZE_SHORT,
    FRAME_SIZE_SHORT,
    3240,
    36,
    0,
    0,
    0,
    { { 12, 6295, 9626, 304, 7695, 4839, 4936, 1660, 144, 11203, 5567, 6347, 12557 },
      { 12, 10691, 4988, 3859, 3734, 3071, 3494, 7687, 10313, 5964, 8069, 8296, 11090 },
      { 12, 10774, 3613, 5208, 11177, 7676, 3549, 8746, 6583, 7239, 12265, 2674, 4292 },
      { 12, 11869, 3708, 5981, 8718, 4908, 10650, 6805, 3334, 2627, 10461, 9285, 11120 },
      { 3, 7844, 3079, 10773, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3385, 10854, 5747, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1360, 12010, 12202, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 6189, 4241, 2343, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 9840, 12726, 4977, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
};

const ldpc_encode_table ldpc_encode_table::ldpc_tab_1_3S = {
    FRAME_SIZE_SHORT,
    FRAME_SIZE_SHORT,
    5400,
    30,
    0,
    0,
    0,
    { { 12, 416, 8909, 4156, 3216, 3112, 2560, 2912, 6405, 8593, 4969, 6723, 6912 },
      { 12, 8978, 3011, 4339, 9312, 6396, 2957, 7288, 5485, 6031, 10218, 2226, 3575 },
      { 12, 3383, 10059, 1114, 10008, 10147, 9384, 4290, 434, 5139, 3536, 1965, 2291 },
      { 12, 2797, 3693, 7615, 7077, 743, 1941, 8716, 6215, 3840, 5140, 4582, 5420 },
      { 12, 6110, 8551, 1515, 7404, 4879, 4946, 5383, 1831, 3441, 9569, 10472, 4306 },
      { 3, 1505, 5682, 7778, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 7172, 6830, 6623, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 7281, 3941, 3505, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 10270, 8669, 914, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3622, 7563, 9388, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 9930, 5058, 4554, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 4844, 9609, 2707, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 6883, 3237, 1714, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 4768, 3878, 10017, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 10127, 3334, 8267, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
};

const ldpc_encode_table ldpc_encode_table::ldpc_tab_2_5S = {
    FRAME_SIZE_SHORT,
    FRAME_SIZE_SHORT,
    6480,
    27,
    0,
    0,
    0,
    { { 12, 5650, 4143, 8750, 583, 6720, 8071, 635, 1767, 1344, 6922, 738, 6658 },
      { 12, 5696, 1685, 3207, 415, 7019, 5023, 5608, 2605, 857, 6915, 1770, 8016 },
      { 12, 3992, 771, 2190, 7258, 8970, 7792, 1802, 1866, 6137, 8841, 886, 1931 },
      { 12, 4108, 3781, 7577, 6810, 9322, 8226, 5396, 5867, 4428, 8827, 7766, 2254 },
      { 12, 4247, 888, 4367, 8821, 9660, 324, 5864, 4774, 227, 7889, 6405, 8963 },
      { 12, 9693, 500, 2520, 2227, 1811, 9330, 1928, 5140, 4030, 4824, 806, 3134 },
      { 3, 1652, 8171, 1435, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3366, 6543, 3745, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 9286, 8509, 4645, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 7397, 5790, 8972, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 6597, 4422, 1799, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 9276, 4041, 3847, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 8683, 7378, 4946, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 5348, 1993, 9186, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 6724, 9015, 5646, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 4502, 4439, 8474, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 5107, 7342, 9442, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1387, 8910, 2660, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
};

const ldpc_encode_table ldpc_encode_table::ldpc_tab_1_2S = {
    FRAME_SIZE_SHORT,
    FRAME_SIZE_SHORT,
    7200,
    25,
    0,
    0,
    0,
    { { 8, 20, 712, 2386, 6354, 4061, 1062, 5045, 5158 },
      { 8, 21, 2543, 5748, 4822, 2348, 3089, 6328, 5876 },
      { 8, 22, 926, 5701, 269, 3693, 2438, 3190, 3507 },
      { 8, 23, 2802, 4520, 3577, 5324, 1091, 4667, 4449 },
      { 8, 24, 5140, 2003, 1263, 4742, 6497, 1185, 6202 },
      { 3, 0, 4046, 6934, 0, 0, 0, 0, 0 },
      { 3, 1, 2855, 66, 0, 0, 0, 0, 0 },
      { 3, 2, 6694, 212, 0, 0, 0, 0, 0 },
      { 3, 3, 3439, 1158, 0, 0, 0, 0, 0 },
      { 3, 4, 3850, 4422, 0, 0, 0, 0, 0 },
      { 3, 5, 5924, 290, 0, 0, 0, 0, 0 },
      { 3, 6, 1467, 4049, 0, 0, 0, 0, 0 },
      { 3, 7, 7820, 2242, 0, 0, 0, 0, 0 },
      { 3, 8, 4606, 3080, 0, 0, 0, 0, 0 },
      { 3, 9, 4633, 7877, 0, 0, 0, 0, 0 },
      { 3, 10, 3884, 6868, 0, 0, 0, 0, 0 },
      { 3, 11, 8935, 4996, 0, 0, 0, 0, 0 },
      { 3, 12, 3028, 764, 0, 0, 0, 0, 0 },
      { 3, 13, 5988, 1057, 0, 0, 0, 0, 0 },
      { 3, 14, 7411, 3450, 0, 0, 0, 0, 0 } }
};

const ldpc_encode_table ldpc_encode_table::ldpc_tab_3_5S = {
    FRAME_SIZE_SHORT,
    FRAME_SIZE_SHORT,
    9720,
    18,
    0,
    0,
    0,
    { { 12, 2765, 5713, 6426, 3596, 1374, 4811, 2182, 544, 3394, 2840, 4310, 771 },
      { 12, 4951, 211, 2208, 723, 1246, 2928, 398, 5739, 265, 5601, 5993, 2615 },
      { 12, 210, 4730, 5777, 3096, 4282, 6238, 4939, 1119, 6463, 5298, 6320, 4016 },
      { 12, 4167, 2063, 4757, 3157, 5664, 3956, 6045, 563, 4284, 2441, 3412, 6334 },
      { 12, 4201, 2428, 4474, 59, 1721, 736, 2997, 428, 3807, 1513, 4732, 6195 },
      { 12, 2670, 3081, 5139, 3736, 1999, 5889, 4362, 3806, 4534, 5409, 6384, 5809 },
      { 12, 5516, 1622, 2906, 3285, 1257, 5797, 3816, 817, 875, 2311, 3543, 1205 },
      { 12, 4244, 2184, 5415, 1705, 5642, 4886, 2333, 287, 1848, 1121, 3595, 6022 },
      { 12, 2142, 2830, 4069, 5654, 1295, 2951, 3919, 1356, 884, 1786, 396, 4738 },
      { 3, 0, 2161, 2653, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1, 1380, 1461, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 2, 2502, 3707, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3, 3971, 1057, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 4, 5985, 6062, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 5, 1733, 6028, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 6, 3786, 1936, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 7, 4292, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 8, 5692, 3417, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 9, 266, 4878, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 10, 4913, 3247, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 11, 4763, 3937, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 12, 3590, 2903, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 13, 2566, 4215, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 14, 5208, 4707, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 15, 3940, 3388, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 16, 5109, 4556, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 17, 4908, 4177, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
};

const ldpc_encode_table ldpc_encode_table::ldpc_tab_2_3S = {
    FRAME_SIZE_SHORT,
    FRAME_SIZE_SHORT,
    10800,
    15,
    0,
    0,
    0,
    { { 13, 0, 2084, 1613, 1548, 1286, 1460, 3196, 4297, 2481, 3369, 3451, 4620, 2622 },
      { 13, 1, 122, 1516, 3448, 2880, 1407, 1847, 3799, 3529, 373, 971, 4358, 3108 },
      { 13, 2, 259, 3399, 929, 2650, 864, 3996, 3833, 107, 5287, 164, 3125, 2350 },
      { 3, 3, 342, 3529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 4, 4198, 2147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 5, 1880, 4836, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 6, 3864, 4910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 7, 243, 1542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 8, 3011, 1436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 9, 2167, 2512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 10, 4606, 1003, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 11, 2835, 705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 12, 3426, 2365, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 13, 3848, 2474, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 14, 1360, 1743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 0, 163, 2536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1, 2583, 1180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 2, 1542, 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3, 4418, 1005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 4, 5212, 5117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 5, 2155, 2922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 6, 347, 2696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 7, 226, 4296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 8, 1560, 487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 9, 3926, 1640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 10, 149, 2928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 11, 2364, 563, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 12, 635, 688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 13, 231, 1684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 14, 1129, 3894, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
};

const ldpc_encode_table ldpc_encode_table::ldpc_tab_3_4S = {
    FRAME_SIZE_SHORT,
    FRAME_SIZE_SHORT,
    11880,
    12,
    0,
    0,
    0,
    { { 12, 3, 3198, 478, 4207, 1481, 1009, 2616, 1924, 3437, 554, 683, 1801 },
      { 3, 4, 2681, 2135, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 5, 3107, 4027, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 6, 2637, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 7, 3830, 3449, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 8, 4129, 2060, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 9, 4184, 2742, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 10, 3946, 1070, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 11, 2239, 984, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 0, 1458, 3031, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1, 3003, 1328, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 2, 1137, 1716, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3, 132, 3725, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 4, 1817, 638, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 5, 1774, 3447, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 6, 3632, 1257, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 7, 542, 3694, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 8, 1015, 1945, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 9, 1948, 412, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 10, 995, 2238, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 11, 4141, 1907, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 0, 2480, 3079, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1, 3021, 1088, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 2, 713, 1379, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3, 997, 3903, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 4, 2323, 3361, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 5, 1110, 986, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 6, 2532, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 7, 1690, 2405, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 8, 1298, 1881, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 9, 615, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 10, 1648, 3112, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 11, 1415, 2808, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
};

const ldpc_encode_table ldpc_encode_table::ldpc_tab_4_5S = {
    FRAME_SIZE_SHORT,
    FRAME_SIZE_SHORT,
    12600,
    10,
    0,
    0,
    0,
    { { 3, 5, 896, 1565 },  { 3, 6, 2493, 184 },  { 3, 7, 212, 3210 },  { 3, 8, 727, 1339 },
      { 3, 9, 3428, 612 },  { 3, 0, 2663, 1947 }, { 3, 1, 230, 2695 },  { 3, 2, 2025, 2794 },
      { 3, 3, 3039, 283 },  { 3, 4, 862, 2889 },  { 3, 5, 376, 2110 },  { 3, 6, 2034, 2286 },
      { 3, 7, 951, 2068 },  { 3, 8, 3108, 3542 }, { 3, 9, 307, 1421 },  { 3, 0, 2272, 1197 },
      { 3, 1, 1800, 3280 }, { 3, 2, 331, 2308 },  { 3, 3, 465, 2552 },  { 3, 4, 1038, 2479 },
      { 3, 5, 1383, 343 },  { 3, 6, 94, 236 },    { 3, 7, 2619, 121 },  { 3, 8, 1497, 2774 },
      { 3, 9, 2116, 1855 }, { 3, 0, 722, 1584 },  { 3, 1, 2767, 1881 }, { 3, 2, 2701, 1610 },
      { 3, 3, 3283, 1732 }, { 3, 4, 168, 1099 },  { 3, 5, 3074, 243 },  { 3, 6, 3460, 945 },
      { 3, 7, 2049, 1746 }, { 3, 8, 566, 1427 },  { 3, 9, 3545, 1168 } }
};

const ldpc_encode_table ldpc_encode_table::ldpc_tab_5_6S = {
    FRAME_SIZE_SHORT,
    FRAME_SIZE_SHORT,
    13320,
    8,
    0,
    0,
    0,
    { { 13, 3, 2409, 499, 1481, 908, 559, 716, 1270, 333, 2508, 2264, 1702, 2805 },
      { 3, 4, 2447, 1926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 5, 414, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 6, 2114, 842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 7, 212, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 0, 2383, 2112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1, 2286, 2348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 2, 545, 819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3, 1264, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 4, 1701, 2258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 5, 964, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 6, 114, 2413, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 7, 2243, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 0, 1245, 1581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1, 775, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 2, 1696, 1104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3, 1914, 2831, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 4, 532, 1450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 5, 91, 974, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 6, 497, 2228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 7, 2326, 1579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 0, 2482, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1, 1117, 1261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 2, 1257, 1658, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3, 1478, 1225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 4, 2511, 980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 5, 2320, 2675, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 6, 435, 1278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 7, 228, 503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 0, 1885, 2369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1, 57, 483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 2, 838, 1050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3, 1231, 1990, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 4, 1738, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 5, 2392, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 6, 163, 645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 7, 2644, 1704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
};

const ldpc_encode_table ldpc_encode_table::ldpc_tab_8_9S = {
    FRAME_SIZE_SHORT,
    FRAME_SIZE_SHORT,
    14400,
    5,
    0,
    0,
    0,
    { { 4, 0, 1558, 712, 805 }, { 4, 1, 1450, 873, 1337 }, { 4, 2, 1741, 1129, 1184 },
      { 4, 3, 294, 806, 1566 }, { 4, 4, 482, 605, 923 },   { 3, 0, 926, 1578, 0 },
      { 3, 1, 777, 1374, 0 },   { 3, 2, 608, 151, 0 },     { 3, 3, 1195, 210, 0 },
      { 3, 4, 1484, 692, 0 },   { 3, 0, 427, 488, 0 },     { 3, 1, 828, 1124, 0 },
      { 3, 2, 874, 1366, 0 },   { 3, 3, 1500, 835, 0 },    { 3, 4, 1496, 502, 0 },
      { 3, 0, 1006, 1701, 0 },  { 3, 1, 1155, 97, 0 },     { 3, 2, 657, 1403, 0 },
      { 3, 3, 1453, 624, 0 },   { 3, 4, 429, 1495, 0 },    { 3, 0, 809, 385, 0 },
      { 3, 1, 367, 151, 0 },    { 3, 2, 1323, 202, 0 },    { 3, 3, 960, 318, 0 },
      { 3, 4, 1451, 1039, 0 },  { 3, 0, 1098, 1722, 0 },   { 3, 1, 1015, 1428, 0 },
      { 3, 2, 1261, 1564, 0 },  { 3, 3, 544, 1190, 0 },    { 3, 4, 1472, 1246, 0 },
      { 3, 0, 508, 630, 0 },    { 3, 1, 421, 1704, 0 },    { 3, 2, 284, 898, 0 },
      { 3, 3, 392, 577, 0 },    { 3, 4, 1155, 556, 0 },    { 3, 0, 631, 1000, 0 },
      { 3, 1, 732, 1368, 0 },   { 3, 2, 1328, 329, 0 },    { 3, 3, 1515, 506, 0 },
      { 3, 4, 1104, 1172, 0 } }
};

const ldpc_encode_table ldpc_encode_table::ldpc_tab_11_45S = {
    FRAME_SIZE_SHORT,
    FRAME_SIZE_SHORT,
    3960,
    34,
    0,
    0,
    0,
    { { 10, 9054, 9186, 12155, 1000, 7383, 6459, 2992, 4723, 8135, 11250 },
      { 10, 2624, 9237, 7139, 12238, 11962, 4361, 5292, 10967, 11036, 8105 },
      { 10, 2044, 11996, 5654, 7568, 7002, 3549, 4767, 8767, 2872, 8345 },
      { 10, 6966, 8473, 5180, 8084, 3359, 5051, 9576, 5139, 1893, 902 },
      { 10, 3041, 3801, 8252, 11951, 909, 8535, 1038, 8400, 3200, 4585 },
      { 3, 5291, 10484, 10872, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 442, 7516, 3720, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 11469, 769, 10998, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 10575, 1436, 2935, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 6905, 8610, 11285, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1873, 5634, 6383, 0, 0, 0, 0, 0, 0, 0 } }
};

const ldpc_encode_table ldpc_encode_table::ldpc_tab_4_15S = {
    FRAME_SIZE_SHORT,
    FRAME_SIZE_SHORT,
    4320,
    33,
    0,
    0,
    0,
    { { 21,   1953, 2331, 2545, 2623, 4653, 5012, 5700, 6458,  6875,  7605,
        7694, 7881, 8416, 8758, 9181, 9555, 9578, 9932, 10068, 11479, 11699 },
      { 21,   514,  784,  2059, 2129, 2386,  2454,  3396,  5184,  6624,  6825,
        7533, 7861, 9116, 9473, 9601, 10432, 11011, 11159, 11378, 11528, 11598 },
      { 21,   483,  1303, 1735, 2291, 3302, 3648, 4222, 4522, 5511,  6626,
        6804, 7404, 7752, 7982, 8108, 8930, 9151, 9793, 9876, 10786, 11879 },
      { 4, 1956, 7572, 9020, 9971, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 4, 13, 1578, 7445, 8373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 4, 6805, 6857, 8615, 11179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 4, 7983, 8022, 10017, 11748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 4, 4939, 8861, 10444, 11661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 4, 2278, 3733, 6265, 10009, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 4494, 7974, 10649, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 8909, 11030, 11696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3131, 9964, 10480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
};

const ldpc_encode_table ldpc_encode_table::ldpc_tab_14_45S = {
    FRAME_SIZE_SHORT,
    FRAME_SIZE_SHORT,
    5040,
    31,
    0,
    0,
    0,
    { { 12, 1606, 3617, 7973, 6737, 9495, 4209, 9209, 4565, 4250, 7823, 9384, 400 },
      { 12, 4105, 991, 923, 3562, 3892, 10993, 5640, 8196, 6652, 4653, 9116, 7677 },
      { 12, 6348, 1341, 5445, 1494, 7799, 831, 4952, 5106, 3011, 9921, 6537, 8476 },
      { 12, 7854, 5274, 8572, 3741, 5674, 11128, 4097, 1398, 5671, 7302, 8155, 2641 },
      { 12, 6548, 2103, 590, 5749, 5722, 10, 2682, 1063, 633, 2949, 207, 6065 },
      { 9, 2828, 6366, 4766, 399, 935, 7611, 84, 150, 3146, 0, 0, 0 },
      { 3, 5363, 7455, 7140, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 9297, 482, 4848, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 8458, 1631, 5344, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 5729, 6767, 4836, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 11019, 4463, 3882, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 4107, 9610, 5454, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 11137, 4328, 6307, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3260, 7897, 3809, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
};

const ldpc_encode_table ldpc_encode_table::ldpc_tab_7_15S = {
    FRAME_SIZE_SHORT,
    FRAME_SIZE_SHORT,
    7560,
    24,
    0,
    0,
    0,
    { { 24,   3,    137,  314,  327,  983,  1597, 2028, 3043, 3217, 4109, 6020, 6178,
        6535, 6560, 7146, 7180, 7408, 7790, 7893, 8123, 8313, 8526, 8616, 8638 },
      { 24,   356,  1197, 1208, 1839, 1903, 2712, 3088, 3537, 4091, 4301, 4919, 5068,
        6025, 6195, 6324, 6378, 6686, 6829, 7558, 7745, 8042, 8382, 8587, 8602 },
      { 24,   18,   187,  1115, 1417, 1463, 2300, 2328, 3502, 3805, 4677, 4827, 5551,
        5968, 6394, 6412, 6753, 7169, 7524, 7695, 7976, 8069, 8118, 8522, 8582 },
      { 24,   714,  2713, 2726, 2964, 3055, 3220, 3334, 3459, 5557, 5765, 5841, 6290,
        6419, 6573, 6856, 7786, 7937, 8156, 8286, 8327, 8384, 8448, 8539, 8559 },
      { 4, 3452, 7935, 8092, 8623, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 4, 56, 1955, 3000, 8242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 4, 1809, 4094, 7991, 8489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 4, 2220, 6455, 7849, 8548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 4, 1006, 2576, 3247, 6976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 4, 2177, 6048, 7795, 8295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 4, 1413, 2595, 7446, 8594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 4, 2101, 3714, 7541, 8531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 10, 5961, 7484, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3144, 4636, 5282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 5708, 5875, 8390, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3322, 5223, 7975, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 197, 4653, 8283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 598, 5393, 8624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 906, 7249, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1223, 2148, 8195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 976, 2001, 5005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
};

const ldpc_encode_table ldpc_encode_table::ldpc_tab_8_15S = {
    FRAME_SIZE_SHORT,
    FRAME_SIZE_SHORT,
    8640,
    21,
    0,
    0,
    0,
    { { 21,   32,   384,  430,  591,  1296, 1976, 1999, 2137, 2175, 3638,
        4214, 4304, 4486, 4662, 4999, 5174, 5700, 6969, 7115, 7138, 7189 },
      { 21,   1788, 1881, 1910, 2724, 4504, 4928, 4973, 5616, 5686, 5718,
        5846, 6523, 6893, 6994, 7074, 7100, 7277, 7399, 7476, 7480, 7537 },
      { 21,   2791, 2824, 2927, 4196, 4298, 4800, 4948, 5361, 5401, 5688,
        5818, 5862, 5969, 6029, 6244, 6645, 6962, 7203, 7302, 7454, 7534 },
      { 21,   574,  1461, 1826, 2056, 2069, 2387, 2794, 3349, 3366, 4951,
        5826, 5834, 5903, 6640, 6762, 6786, 6859, 7043, 7418, 7431, 7554 },
      { 21,   14,   178,  675,  823,  890,  930,  1209, 1311, 2898, 4339,
        4600, 5203, 6485, 6549, 6970, 7208, 7218, 7298, 7454, 7457, 7462 },
      { 4, 4075, 4188, 7313, 7553, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 4, 5145, 6018, 7148, 7507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 4, 3198, 4858, 6983, 7033, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 4, 3170, 5126, 5625, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 4, 2839, 6093, 7071, 7450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 11, 3735, 5413, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 2497, 5400, 7238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 2067, 5172, 5714, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1889, 7173, 7329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1795, 2773, 3499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 2695, 2944, 6735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3221, 4625, 5897, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1690, 6122, 6816, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 5013, 6839, 7358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1601, 6849, 7415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 2180, 7389, 7543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 2121, 6838, 7054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1948, 3109, 5046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 272, 1015, 7464, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
};

const ldpc_encode_table ldpc_encode_table::ldpc_tab_26_45S = {
    FRAME_SIZE_SHORT,
    FRAME_SIZE_SHORT,
    9360,
    19,
    0,
    0,
    0,
    { { 13, 6106, 5389, 698, 6749, 6294, 1653, 1984, 2167, 6139, 6095, 3832, 2468, 6115 },
      { 13, 4202, 2362, 1852, 1264, 3564, 6345, 498, 6137, 3908, 3302, 527, 2767, 6667 },
      { 12, 3422, 1242, 1377, 2238, 2899, 1974, 1957, 261, 3463, 4994, 215, 2338, 0 },
      { 12, 3016, 5109, 6533, 2665, 5300, 4908, 4967, 5787, 726, 229, 1970, 2789, 0 },
      { 12, 6146, 5765, 6649, 2871, 884, 1670, 2597, 5058, 3659, 6594, 5042, 304, 0 },
      { 12, 5521, 2811, 0, 4214, 2626, 2211, 1236, 3771, 852, 6356, 6797, 3463, 0 },
      { 12, 1523, 1830, 3938, 5593, 2128, 5791, 3421, 3680, 6692, 1377, 3808, 3475, 0 },
      { 12, 5551, 6035, 2247, 3662, 759, 6783, 116, 6380, 4586, 3367, 1, 5003, 0 },
      { 3, 3518, 6557, 6510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1830, 839, 4421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 5431, 5959, 6152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3174, 5113, 4520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 5399, 1303, 2496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 2841, 741, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 2731, 1830, 4193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1875, 3935, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 9, 4720, 423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3107, 2676, 840, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1950, 6177, 6457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 4091, 94, 5102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1907, 6050, 3455, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 714, 3, 559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 502, 4268, 4164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1019, 5558, 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 6127, 854, 3221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 959, 5337, 2735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
};

const ldpc_encode_table ldpc_encode_table::ldpc_tab_32_45S = {
    FRAME_SIZE_SHORT,
    FRAME_SIZE_SHORT,
    11520,
    13,
    0,
    0,
    0,
    { { 12, 2686, 655, 2308, 1603, 336, 1743, 2778, 1263, 3555, 185, 4212, 621 },
      { 12, 286, 2994, 2599, 2265, 126, 314, 3992, 4560, 2845, 2764, 2540, 1476 },
      { 12, 2670, 3599, 2900, 2281, 3597, 2768, 4423, 2805, 836, 130, 1204, 4162 },
      { 12, 1884, 4228, 1253, 2578, 3053, 3650, 2587, 4468, 2784, 1644, 1490, 4655 },
      { 12, 4258, 1699, 4363, 4555, 3810, 4046, 3806, 344, 2459, 4067, 3327, 3510 },
      { 5, 1021, 2741, 2528, 2168, 2820, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 254, 1080, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1465, 4192, 2972, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 2356, 2976, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 4412, 1937, 2724, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1430, 3024, 600, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1952, 2136, 3573, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3009, 3123, 1288, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 4553, 2299, 806, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 2997, 402, 4330, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3302, 4567, 698, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 2364, 498, 3146, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1809, 647, 992, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3512, 32, 4301, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1238, 251, 450, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1657, 737, 641, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 560, 1720, 2893, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1689, 2206, 902, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3998, 1784, 2094, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 2090, 3126, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1565, 764, 3473, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 891, 903, 2413, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 2286, 2900, 2348, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 3026, 2033, 1502, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 2404, 1243, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 308, 2222, 3825, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
      { 3, 1523, 3311, 389, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
};
